package com.cnap.multiclouldmgmt.model.k8sMonitorModels;

import com.cnap.multiclouldmgmt.model.network.LinkResInfoModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.List;

/**
 * 监控或者算法需要的数据
 * @author dyq
 */
@ApiModel(value = "com.cnap.multiclouldmgmt.model.k8sMonitorModels.AlgClusterInfoV2Model",description = "算法所需要信息的请求")
public class AlgClusterInfoV2Model {

    private String k8sClusterName;

    private String status;

    private String regionId;

    private String zoneId;

    private String cloudType;

    //0-master节点不可用，1-可用
    private int masterNodeAvailable = 0;

    private double masterCpuUse;

    private double masterCpuTotal;

    private double masterMemUse;

    private double masterMemTotal;

    private int nodeNum;


    //GPU,CPU
    private String arch;

    private double gpuUse;

    private double gpuTotal;

    //私有云才有的值，功率，空闲功率，集群平均cpu使用率
    private double pmax;
    private double pidle;
    private double clusterCpuUsage;

    private String accountName;

    //cpu的核心数
    private int masterCpuNum;

    //内存大小
    private int masterMemByG;

    //"gpu":"NVIDIA A10*2",
    private String gpu;

    private String gpuMemorySize;

    private LinkResInfoModel linkResInfoModel;

    /**
     * get
     *
     * @return LinkResInfoModel
     */
    public LinkResInfoModel getLinkResInfoModel() {
        return linkResInfoModel;
    }

    /**
     * set
     *
     * @param linkResInfoModel linkResInfoModel
     */
    public void setLinkResInfoModel(LinkResInfoModel linkResInfoModel) {
        this.linkResInfoModel = linkResInfoModel;
    }

    /**
     * get
     *
     * @return Status
     */
    public String getStatus() {
        return status;
    }

    /**
     * set
     *
     * @param status status
     */
    public void setStatus(String status) {
        this.status = status;
    }

    /**
     * get
     *
     * @return MasterCpuNum
     */
    public int getMasterCpuNum() {
        return masterCpuNum;
    }

    /**
     * set
     *
     * @param masterCpuNum masterCpuNum
     */
    public void setMasterCpuNum(int masterCpuNum) {
        this.masterCpuNum = masterCpuNum;
    }

    /**
     * get
     *
     * @return MasterMemByG
     */
    public int getMasterMemByG() {
        return masterMemByG;
    }

    /**
     * set
     *
     * @param masterMemByG masterMemByG
     */
    public void setMasterMemByG(int masterMemByG) {
        this.masterMemByG = masterMemByG;
    }

    /**
     * get
     *
     * @return Gpu
     */
    public String getGpu() {
        return gpu;
    }

    /**
     * set
     *
     * @param gpu gpu
     */
    public void setGpu(String gpu) {
        this.gpu = gpu;
    }

    /**
     * get
     *
     * @return GpuMemorySize
     */
    public String getGpuMemorySize() {
        return gpuMemorySize;
    }

    /**
     * set
     *
     * @param gpuMemorySize gpuMemorySize
     */
    public void setGpuMemorySize(String gpuMemorySize) {
        this.gpuMemorySize = gpuMemorySize;
    }

    /**
     * get
     *
     * @return AccountName
     */
    public String getAccountName() {
        return accountName;
    }

    /**
     * set
     *
     * @param accountName accountName
     */
    public void setAccountName(String accountName) {
        this.accountName = accountName;
    }

    /**
     * get
     *
     * @return Pmax
     */
    public double getPmax() {
        return pmax;
    }

    /**
     * set
     *
     * @param pmax pmax
     */
    public void setPmax(double pmax) {
        this.pmax = pmax;
    }

    /**
     * get
     *
     * @return Pidle
     */
    public double getPidle() {
        return pidle;
    }

    /**
     * set
     *
     * @param pidle pidle
     */
    public void setPidle(double pidle) {
        this.pidle = pidle;
    }

    /**
     * get
     *
     * @return ClusterCpuUsage
     */
    public double getClusterCpuUsage() {
        return clusterCpuUsage;
    }

    /**
     * set
     *
     * @param clusterCpuUsage clusterCpuUsage
     */
    public void setClusterCpuUsage(double clusterCpuUsage) {
        this.clusterCpuUsage = clusterCpuUsage;
    }

    /**
     * get
     *
     * @return Arch
     */
    public String getArch() {
        return arch;
    }

    /**
     * set
     *
     * @param arch arch
     */
    public void setArch(String arch) {
        this.arch = arch;
    }

    /**
     * get
     *
     * @return GpuUse
     */
    public double getGpuUse() {
        return gpuUse;
    }

    /**
     * set
     *
     * @param gpuUse gpuUse
     */
    public void setGpuUse(double gpuUse) {
        this.gpuUse = gpuUse;
    }

    /**
     * get
     *
     * @return GpuTotal
     */
    public double getGpuTotal() {
        return gpuTotal;
    }

    /**
     * set
     *
     * @param gpuTotal gpuTotal
     */
    public void setGpuTotal(double gpuTotal) {
        this.gpuTotal = gpuTotal;
    }

    /**
     * get
     *
     * @return K8sClusterName
     */
    public String getK8sClusterName() {
        return k8sClusterName;
    }

    /**
     * set
     *
     * @param k8sClusterName k8sClusterName
     */
    public void setK8sClusterName(String k8sClusterName) {
        this.k8sClusterName = k8sClusterName;
    }

    /**
     * get
     *
     * @return RegionId
     */
    public String getRegionId() {
        return regionId;
    }

    /**
     * set
     *
     * @param regionId regionId
     */
    public void setRegionId(String regionId) {
        this.regionId = regionId;
    }

    /**
     * get
     *
     * @return ZoneId
     */
    public String getZoneId() {
        return zoneId;
    }

    /**
     * set
     *
     * @param zoneId zoneId
     */
    public void setZoneId(String zoneId) {
        this.zoneId = zoneId;
    }

    /**
     * get
     *
     * @return CloudType
     */
    public String getCloudType() {
        return cloudType;
    }

    /**
     * set
     *
     * @param cloudType cloudType
     */
    public void setCloudType(String cloudType) {
        this.cloudType = cloudType;
    }

    /**
     * get
     *
     * @return MasterNodeAvailable
     */
    public int getMasterNodeAvailable() {
        return masterNodeAvailable;
    }

    /**
     * set
     *
     * @param masterNodeAvailable masterNodeAvailable
     */
    public void setMasterNodeAvailable(int masterNodeAvailable) {
        this.masterNodeAvailable = masterNodeAvailable;
    }

    /**
     * get
     *
     * @return MasterCpuUse
     */
    public double getMasterCpuUse() {
        return masterCpuUse;
    }

    /**
     * set
     *
     * @param masterCpuUse masterCpuUse
     */
    public void setMasterCpuUse(double masterCpuUse) {
        this.masterCpuUse = masterCpuUse;
    }

    /**
     * get
     *
     * @return MasterCpuTotal
     */
    public double getMasterCpuTotal() {
        return masterCpuTotal;
    }

    /**
     * set
     *
     * @param masterCpuTotal masterCpuTotal
     */
    public void setMasterCpuTotal(double masterCpuTotal) {
        this.masterCpuTotal = masterCpuTotal;
    }

    /**
     * get
     *
     * @return MasterMemUse
     */
    public double getMasterMemUse() {
        return masterMemUse;
    }

    /**
     * set
     *
     * @param masterMemUse masterMemUse
     */
    public void setMasterMemUse(double masterMemUse) {
        this.masterMemUse = masterMemUse;
    }

    /**
     * get
     *
     * @return MasterMemTotal
     */
    public double getMasterMemTotal() {
        return masterMemTotal;
    }

    /**
     * set
     *
     * @param masterMemTotal masterMemTotal
     */
    public void setMasterMemTotal(double masterMemTotal) {
        this.masterMemTotal = masterMemTotal;
    }

    /**
     * get
     *
     * @return NodeNum
     */
    public int getNodeNum() {
        return nodeNum;
    }

    /**
     * set
     *
     * @param nodeNum nodeNum
     */
    public void setNodeNum(int nodeNum) {
        this.nodeNum = nodeNum;
    }
}
